﻿using MatrixWebApiCore.Entity;
using MatrixWebApiCore.Entity.RequestModel;
using Microsoft.Extensions.Caching.Memory;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace MatrixWebApiCore.HttpRequest
{
    /// <summary>
    /// 接口发送处理基类
    /// </summary>
    public interface IwebHttpClienBase
    { 
        /// <summary>
        /// 基本信息10
        /// </summary>
        /// <param name="token"></param>
        /// <param name="parames"></param>
        /// <returns></returns>
         Task<BackResult<object>> BasicInfoAsync(string token, TargetParames parames);

        /// <summary>
        /// 风险指标数据20
        /// </summary>
        /// <param name="token"></param>
        /// <param name="parames"></param>
        /// <returns></returns>
         Task<BackResult<object>> RiskIndicator(string token, TargetParames parames);

        /// <summary>
        /// 业绩表现数据30
        /// </summary>
        /// <param name="token"></param>
        /// <param name="parames"></param>
        /// <returns></returns>
         Task<BackResult<object>> Performance(string token, TargetParames parames);

        /// <summary>
        /// 今年业绩（周）40
        /// </summary>
        /// <param name="token"></param>
        /// <param name="parames"></param>
        /// <returns></returns>
         Task<BackResult<object>> ThisYearPerformanceWeek(string token, TargetParames parames);

        /// <summary>
        /// 本年度周收益率 50 
        /// </summary>
        /// <param name="token"></param>
        /// <param name="parames"></param>
        /// <returns></returns>
         Task<BackResult<object>> ThisYearWeekIncomeRate(string token, TargetParames parames);

        /// <summary>
        /// （市场指数累计收益率）获取所有基准累计收益率走势图60
        /// </summary>
        /// <param name="token"></param>
        /// <param name="analysisId"></param>
        /// <param name="startDate"></param>
        /// <param name="endTime"></param>
        /// <returns></returns>
         Task<BackResult<object>> AllBenchmarkYieldRate(string token, int analysisId, string startDate, string endTime);

        /// <summary>
        /// 持仓信息，资产配置70
        /// </summary>
        /// <param name="token"></param>
        /// <param name="parames"></param>
        /// <returns></returns>
         Task<BackResult<object>> AssetAllocation(string token, TargetParames parames);

        /// <summary>
        ///  行业配置80
        /// </summary>
        /// <param name="token"></param>
        /// <param name="parames"></param>
        /// <returns></returns>
         Task<BackResult<object>> IndustryStructure(string token, TargetParames parames);

        /// <summary>
        ///  重仓证券90
        /// </summary>
        /// <param name="token"></param>
        /// <param name="parames"></param>
        /// <returns></returns>
        Task<BackResult<object>> HeavySecuritie(string token, TargetParames parames);

    }
}
